{
double _4,_7,_12,_13,_14,_15,_16,_17,_18,_21,_22,_23,_24,_25,_26,_27,_44,_45,_46,_47,_48,_51,_52,_53,_54,_55,_32,_34,_5,_74,_43,_8,_90,_50,_87,_88,_91,_94,_96,_97,_30,_31,_33,_35,_36,_37,_38,_39,_40,_41,_58,_59,_60,_61,_62,_63,_64,_65,_66,_67,_1,_2,_3,_6,_9,_10,_49,_56,_57,_70,_71,_72,_73,_75,_76,_77,_78,_79,_80,_81,_82,_83,_84,_85,_86,_89,_92,_93,_95,_98,_99,_100,_101,_102,_103,_104,_105,_106,_107,_108,_109,_110,_111,_11,_19,_20,_28,_29,_114,_115,_116,_112,_113,_130;

_4 = -y[1];
_7 = -z[1];
_12 = x[1]*y[0];
_13 = -(x[2]*y[0]);
_14 = -(x[0]*y[1]);
_15 = x[2]*y[1];
_16 = x[0]*y[2];
_17 = -(x[1]*y[2]);
_18 = _12 + _13 + _14 + _15 + _16 + _17;
_21 = x[1]*z[0];
_22 = -(x[2]*z[0]);
_23 = -(x[0]*z[1]);
_24 = x[2]*z[1];
_25 = x[0]*z[2];
_26 = -(x[1]*z[2]);
_27 = _21 + _22 + _23 + _24 + _25 + _26;
_44 = -(x[3]*y[0]);
_45 = x[3]*y[1];
_46 = x[0]*y[3];
_47 = -(x[1]*y[3]);
_48 = _12 + _44 + _14 + _45 + _46 + _47;
_51 = -(x[3]*z[0]);
_52 = x[3]*z[1];
_53 = x[0]*z[3];
_54 = -(x[1]*z[3]);
_55 = _21 + _51 + _23 + _52 + _53 + _54;
_32 = y[1]*z[0];
_34 = -(y[0]*z[1]);
_5 = y[0] + _4;
_74 = -y[0];
_43 = _4 + y[3];
_8 = z[0] + _7;
_90 = -z[0];
_50 = _7 + z[3];
_87 = -z[2];
_88 = z[1] + _87;
_91 = _90 + z[2];
_94 = _90 + z[1];
_96 = -z[3];
_97 = z[0] + _96;
_30 = Squared(_18);
_31 = Squared(_27);
_33 = -(y[2]*z[0]);
_35 = y[2]*z[1];
_36 = y[0]*z[2];
_37 = -(y[1]*z[2]);
_38 = _32 + _33 + _34 + _35 + _36 + _37;
_39 = Squared(_38);
_40 = _30 + _31 + _39;
_41 = 1/Sqrt(_40);
_58 = Squared(_48);
_59 = Squared(_55);
_60 = -(y[3]*z[0]);
_61 = y[3]*z[1];
_62 = y[0]*z[3];
_63 = -(y[1]*z[3]);
_64 = _32 + _60 + _34 + _61 + _62 + _63;
_65 = Squared(_64);
_66 = _58 + _59 + _65;
_67 = 1/Sqrt(_66);
_1 = -x[1];
_2 = x[0] + _1;
_3 = Squared(_2);
_6 = Squared(_5);
_9 = Squared(_8);
_10 = _3 + _6 + _9;
_49 = 2*_43*_48;
_56 = 2*_50*_55;
_57 = _49 + _56;
_70 = x[2]*_5;
_71 = -y[2];
_72 = y[1] + _71;
_73 = x[0]*_72;
_75 = _74 + y[2];
_76 = x[1]*_75;
_77 = _70 + _73 + _76;
_78 = _74 + y[1];
_79 = x[3]*_78;
_80 = -y[3];
_81 = y[0] + _80;
_82 = x[1]*_81;
_83 = x[0]*_43;
_84 = _79 + _82 + _83;
_85 = _77*_84;
_86 = x[2]*_8;
_89 = x[0]*_88;
_92 = x[1]*_91;
_93 = _86 + _89 + _92;
_95 = x[3]*_94;
_98 = x[1]*_97;
_99 = x[0]*_50;
_100 = _95 + _98 + _99;
_101 = _93*_100;
_102 = y[2]*_8;
_103 = y[0]*_88;
_104 = y[1]*_91;
_105 = _102 + _103 + _104;
_106 = y[3]*_94;
_107 = y[1]*_97;
_108 = y[0]*_50;
_109 = _106 + _107 + _108;
_110 = _105*_109;
_111 = _85 + _101 + _110;
_11 = _4 + y[2];
_19 = 2*_11*_18;
_20 = _7 + z[2];
_28 = 2*_20*_27;
_29 = _19 + _28;
_114 = Sqrt(_40);
_115 = Sqrt(_66);
_116 = _114 + _115;
_112 = -(_111*_41*_67);
_113 = 1 + _112;
_130 = 1/_116;
grad[1] = (-6*_10*((_29*_41)/2. + (_57*_67)/2.)*_113)/Power(_116,2) + 6*_10*((_57*_111*_41)/(2.*Power(_66,1.5)) + (_29*_111*_67)/(2.*Power(_40,1.5)) - (_77*_43 + _72*_84 + _93*_50 + _88*_100)*_41*_67)*_130 + 12*_2*_113*_130;
}
{
double _7,_13,_14,_15,_16,_17,_18,_19,_22,_23,_24,_25,_26,_27,_28,_46,_47,_48,_49,_50,_32,_34,_53,_54,_55,_56,_57,_4,_5,_76,_8,_93,_52,_90,_91,_94,_97,_99,_100,_31,_33,_35,_36,_37,_38,_39,_40,_41,_42,_60,_61,_62,_63,_64,_65,_66,_67,_68,_69,_1,_2,_3,_6,_9,_10,_44,_45,_51,_58,_59,_72,_73,_74,_75,_77,_78,_79,_80,_81,_82,_83,_84,_85,_86,_87,_88,_89,_92,_95,_96,_98,_101,_102,_103,_104,_105,_106,_107,_108,_109,_110,_111,_112,_113,_114,_11,_12,_20,_21,_29,_30,_117,_118,_119,_115,_116,_134;

_7 = -z[1];
_13 = x[1]*y[0];
_14 = -(x[2]*y[0]);
_15 = -(x[0]*y[1]);
_16 = x[2]*y[1];
_17 = x[0]*y[2];
_18 = -(x[1]*y[2]);
_19 = _13 + _14 + _15 + _16 + _17 + _18;
_22 = y[1]*z[0];
_23 = -(y[2]*z[0]);
_24 = -(y[0]*z[1]);
_25 = y[2]*z[1];
_26 = y[0]*z[2];
_27 = -(y[1]*z[2]);
_28 = _22 + _23 + _24 + _25 + _26 + _27;
_46 = -(x[3]*y[0]);
_47 = x[3]*y[1];
_48 = x[0]*y[3];
_49 = -(x[1]*y[3]);
_50 = _13 + _46 + _15 + _47 + _48 + _49;
_32 = x[1]*z[0];
_34 = -(x[0]*z[1]);
_53 = -(y[3]*z[0]);
_54 = y[3]*z[1];
_55 = y[0]*z[3];
_56 = -(y[1]*z[3]);
_57 = _22 + _53 + _24 + _54 + _55 + _56;
_4 = -y[1];
_5 = y[0] + _4;
_76 = -y[0];
_8 = z[0] + _7;
_93 = -z[0];
_52 = _7 + z[3];
_90 = -z[2];
_91 = z[1] + _90;
_94 = _93 + z[2];
_97 = _93 + z[1];
_99 = -z[3];
_100 = z[0] + _99;
_31 = Squared(_19);
_33 = -(x[2]*z[0]);
_35 = x[2]*z[1];
_36 = x[0]*z[2];
_37 = -(x[1]*z[2]);
_38 = _32 + _33 + _34 + _35 + _36 + _37;
_39 = Squared(_38);
_40 = Squared(_28);
_41 = _31 + _39 + _40;
_42 = 1/Sqrt(_41);
_60 = Squared(_50);
_61 = -(x[3]*z[0]);
_62 = x[3]*z[1];
_63 = x[0]*z[3];
_64 = -(x[1]*z[3]);
_65 = _32 + _61 + _34 + _62 + _63 + _64;
_66 = Squared(_65);
_67 = Squared(_57);
_68 = _60 + _66 + _67;
_69 = 1/Sqrt(_68);
_1 = -x[1];
_2 = x[0] + _1;
_3 = Squared(_2);
_6 = Squared(_5);
_9 = Squared(_8);
_10 = _3 + _6 + _9;
_44 = -x[3];
_45 = x[1] + _44;
_51 = 2*_45*_50;
_58 = 2*_52*_57;
_59 = _51 + _58;
_72 = x[2]*_5;
_73 = -y[2];
_74 = y[1] + _73;
_75 = x[0]*_74;
_77 = _76 + y[2];
_78 = x[1]*_77;
_79 = _72 + _75 + _78;
_80 = _76 + y[1];
_81 = x[3]*_80;
_82 = -y[3];
_83 = y[0] + _82;
_84 = x[1]*_83;
_85 = _4 + y[3];
_86 = x[0]*_85;
_87 = _81 + _84 + _86;
_88 = _79*_87;
_89 = x[2]*_8;
_92 = x[0]*_91;
_95 = x[1]*_94;
_96 = _89 + _92 + _95;
_98 = x[3]*_97;
_101 = x[1]*_100;
_102 = x[0]*_52;
_103 = _98 + _101 + _102;
_104 = _96*_103;
_105 = y[2]*_8;
_106 = y[0]*_91;
_107 = y[1]*_94;
_108 = _105 + _106 + _107;
_109 = y[3]*_97;
_110 = y[1]*_100;
_111 = y[0]*_52;
_112 = _109 + _110 + _111;
_113 = _108*_112;
_114 = _88 + _104 + _113;
_11 = -x[2];
_12 = x[1] + _11;
_20 = 2*_12*_19;
_21 = _7 + z[2];
_29 = 2*_21*_28;
_30 = _20 + _29;
_117 = Sqrt(_41);
_118 = Sqrt(_68);
_119 = _117 + _118;
_115 = -(_114*_42*_69);
_116 = 1 + _115;
_134 = 1/_119;
grad[2] = (-6*_10*((_30*_42)/2. + (_59*_69)/2.)*_116)/Power(_119,2) + 6*_10*((_59*_114*_42)/(2.*Power(_68,1.5)) + (_30*_114*_69)/(2.*Power(_41,1.5)) - (_45*_79 + (_1 + x[2])*_87 + _108*_52 + _91*_112)*_42*_69)*_134 + 12*_5*_116*_134;
}
{
double _13,_14,_15,_16,_17,_18,_19,_23,_24,_25,_26,_27,_28,_29,_32,_34,_47,_48,_49,_50,_51,_55,_56,_57,_58,_59,_4,_5,_21,_22,_76,_53,_7,_8,_92,_89,_90,_93,_96,_98,_99,_101,_33,_35,_36,_37,_38,_39,_40,_41,_42,_43,_62,_63,_64,_65,_66,_67,_68,_69,_70,_71,_1,_2,_3,_6,_9,_10,_45,_46,_52,_54,_60,_61,_74,_75,_77,_78,_79,_80,_81,_82,_83,_84,_85,_86,_87,_88,_91,_94,_95,_97,_100,_102,_103,_104,_105,_106,_107,_108,_109,_110,_111,_112,_113,_114,_11,_12,_20,_30,_31,_117,_118,_119,_115,_116,_135;

_13 = x[1]*z[0];
_14 = -(x[2]*z[0]);
_15 = -(x[0]*z[1]);
_16 = x[2]*z[1];
_17 = x[0]*z[2];
_18 = -(x[1]*z[2]);
_19 = _13 + _14 + _15 + _16 + _17 + _18;
_23 = y[1]*z[0];
_24 = -(y[2]*z[0]);
_25 = -(y[0]*z[1]);
_26 = y[2]*z[1];
_27 = y[0]*z[2];
_28 = -(y[1]*z[2]);
_29 = _23 + _24 + _25 + _26 + _27 + _28;
_32 = x[1]*y[0];
_34 = -(x[0]*y[1]);
_47 = -(x[3]*z[0]);
_48 = x[3]*z[1];
_49 = x[0]*z[3];
_50 = -(x[1]*z[3]);
_51 = _13 + _47 + _15 + _48 + _49 + _50;
_55 = -(y[3]*z[0]);
_56 = y[3]*z[1];
_57 = y[0]*z[3];
_58 = -(y[1]*z[3]);
_59 = _23 + _55 + _25 + _56 + _57 + _58;
_4 = -y[1];
_5 = y[0] + _4;
_21 = -y[2];
_22 = y[1] + _21;
_76 = -y[0];
_53 = -y[3];
_7 = -z[1];
_8 = z[0] + _7;
_92 = -z[0];
_89 = -z[2];
_90 = z[1] + _89;
_93 = _92 + z[2];
_96 = _92 + z[1];
_98 = -z[3];
_99 = z[0] + _98;
_101 = _7 + z[3];
_33 = -(x[2]*y[0]);
_35 = x[2]*y[1];
_36 = x[0]*y[2];
_37 = -(x[1]*y[2]);
_38 = _32 + _33 + _34 + _35 + _36 + _37;
_39 = Squared(_38);
_40 = Squared(_19);
_41 = Squared(_29);
_42 = _39 + _40 + _41;
_43 = 1/Sqrt(_42);
_62 = -(x[3]*y[0]);
_63 = x[3]*y[1];
_64 = x[0]*y[3];
_65 = -(x[1]*y[3]);
_66 = _32 + _62 + _34 + _63 + _64 + _65;
_67 = Squared(_66);
_68 = Squared(_51);
_69 = Squared(_59);
_70 = _67 + _68 + _69;
_71 = 1/Sqrt(_70);
_1 = -x[1];
_2 = x[0] + _1;
_3 = Squared(_2);
_6 = Squared(_5);
_9 = Squared(_8);
_10 = _3 + _6 + _9;
_45 = -x[3];
_46 = x[1] + _45;
_52 = 2*_46*_51;
_54 = y[1] + _53;
_60 = 2*_54*_59;
_61 = _52 + _60;
_74 = x[2]*_5;
_75 = x[0]*_22;
_77 = _76 + y[2];
_78 = x[1]*_77;
_79 = _74 + _75 + _78;
_80 = _76 + y[1];
_81 = x[3]*_80;
_82 = y[0] + _53;
_83 = x[1]*_82;
_84 = _4 + y[3];
_85 = x[0]*_84;
_86 = _81 + _83 + _85;
_87 = _79*_86;
_88 = x[2]*_8;
_91 = x[0]*_90;
_94 = x[1]*_93;
_95 = _88 + _91 + _94;
_97 = x[3]*_96;
_100 = x[1]*_99;
_102 = x[0]*_101;
_103 = _97 + _100 + _102;
_104 = _95*_103;
_105 = y[2]*_8;
_106 = y[0]*_90;
_107 = y[1]*_93;
_108 = _105 + _106 + _107;
_109 = y[3]*_96;
_110 = y[1]*_99;
_111 = y[0]*_101;
_112 = _109 + _110 + _111;
_113 = _108*_112;
_114 = _87 + _104 + _113;
_11 = -x[2];
_12 = x[1] + _11;
_20 = 2*_12*_19;
_30 = 2*_22*_29;
_31 = _20 + _30;
_117 = Sqrt(_42);
_118 = Sqrt(_70);
_119 = _117 + _118;
_115 = -(_114*_43*_71);
_116 = 1 + _115;
_135 = 1/_119;
grad[3] = (-6*_10*((_31*_43)/2. + (_61*_71)/2.)*_116)/Power(_119,2) + 6*_10*((_61*_114*_43)/(2.*Power(_70,1.5)) + (_31*_114*_71)/(2.*Power(_42,1.5)) - (_46*_95 + _54*_108 + (_1 + x[2])*_103 + (_4 + y[2])*_112)*_43*_71)*_135 + 12*_8*_116*_135;
}
{
double _13,_14,_15,_16,_17,_18,_19,_23,_24,_25,_26,_27,_28,_29,_47,_48,_49,_50,_51,_55,_56,_57,_58,_59,_34,_36,_4,_5,_11,_77,_45,_46,_7,_8,_21,_91,_53,_54,_89,_92,_95,_98,_32,_33,_35,_37,_38,_39,_40,_41,_42,_43,_62,_63,_64,_65,_66,_67,_68,_69,_70,_71,_1,_2,_3,_6,_9,_10,_52,_60,_61,_74,_75,_76,_78,_79,_80,_81,_82,_83,_84,_85,_86,_87,_88,_90,_93,_94,_96,_97,_99,_100,_101,_102,_103,_104,_105,_106,_107,_108,_109,_110,_111,_12,_20,_22,_30,_31,_114,_115,_116,_112,_113,_130;

_13 = x[1]*y[0];
_14 = -(x[2]*y[0]);
_15 = -(x[0]*y[1]);
_16 = x[2]*y[1];
_17 = x[0]*y[2];
_18 = -(x[1]*y[2]);
_19 = _13 + _14 + _15 + _16 + _17 + _18;
_23 = x[1]*z[0];
_24 = -(x[2]*z[0]);
_25 = -(x[0]*z[1]);
_26 = x[2]*z[1];
_27 = x[0]*z[2];
_28 = -(x[1]*z[2]);
_29 = _23 + _24 + _25 + _26 + _27 + _28;
_47 = -(x[3]*y[0]);
_48 = x[3]*y[1];
_49 = x[0]*y[3];
_50 = -(x[1]*y[3]);
_51 = _13 + _47 + _15 + _48 + _49 + _50;
_55 = -(x[3]*z[0]);
_56 = x[3]*z[1];
_57 = x[0]*z[3];
_58 = -(x[1]*z[3]);
_59 = _23 + _55 + _25 + _56 + _57 + _58;
_34 = y[1]*z[0];
_36 = -(y[0]*z[1]);
_4 = -y[1];
_5 = y[0] + _4;
_11 = -y[2];
_77 = -y[0];
_45 = -y[3];
_46 = y[0] + _45;
_7 = -z[1];
_8 = z[0] + _7;
_21 = -z[2];
_91 = -z[0];
_53 = -z[3];
_54 = z[0] + _53;
_89 = z[1] + _21;
_92 = _91 + z[2];
_95 = _91 + z[1];
_98 = _7 + z[3];
_32 = Squared(_19);
_33 = Squared(_29);
_35 = -(y[2]*z[0]);
_37 = y[2]*z[1];
_38 = y[0]*z[2];
_39 = -(y[1]*z[2]);
_40 = _34 + _35 + _36 + _37 + _38 + _39;
_41 = Squared(_40);
_42 = _32 + _33 + _41;
_43 = 1/Sqrt(_42);
_62 = Squared(_51);
_63 = Squared(_59);
_64 = -(y[3]*z[0]);
_65 = y[3]*z[1];
_66 = y[0]*z[3];
_67 = -(y[1]*z[3]);
_68 = _34 + _64 + _36 + _65 + _66 + _67;
_69 = Squared(_68);
_70 = _62 + _63 + _69;
_71 = 1/Sqrt(_70);
_1 = -x[1];
_2 = x[0] + _1;
_3 = Squared(_2);
_6 = Squared(_5);
_9 = Squared(_8);
_10 = _3 + _6 + _9;
_52 = 2*_46*_51;
_60 = 2*_54*_59;
_61 = _52 + _60;
_74 = x[2]*_5;
_75 = y[1] + _11;
_76 = x[0]*_75;
_78 = _77 + y[2];
_79 = x[1]*_78;
_80 = _74 + _76 + _79;
_81 = _77 + y[1];
_82 = x[3]*_81;
_83 = x[1]*_46;
_84 = _4 + y[3];
_85 = x[0]*_84;
_86 = _82 + _83 + _85;
_87 = _80*_86;
_88 = x[2]*_8;
_90 = x[0]*_89;
_93 = x[1]*_92;
_94 = _88 + _90 + _93;
_96 = x[3]*_95;
_97 = x[1]*_54;
_99 = x[0]*_98;
_100 = _96 + _97 + _99;
_101 = _94*_100;
_102 = y[2]*_8;
_103 = y[0]*_89;
_104 = y[1]*_92;
_105 = _102 + _103 + _104;
_106 = y[3]*_95;
_107 = y[1]*_54;
_108 = y[0]*_98;
_109 = _106 + _107 + _108;
_110 = _105*_109;
_111 = _87 + _101 + _110;
_12 = y[0] + _11;
_20 = 2*_12*_19;
_22 = z[0] + _21;
_30 = 2*_22*_29;
_31 = _20 + _30;
_114 = Sqrt(_42);
_115 = Sqrt(_70);
_116 = _114 + _115;
_112 = -(_111*_43*_71);
_113 = 1 + _112;
_130 = 1/_116;
grad[4] = (-6*_10*((_31*_43)/2. + (_61*_71)/2.)*_113)/Power(_116,2) + 6*_10*((_61*_111*_43)/(2.*Power(_70,1.5)) + (_31*_111*_71)/(2.*Power(_42,1.5)) - (_80*_46 + _78*_86 + _94*_54 + _92*_100)*_43*_71)*_130 - 12*_2*_113*_130;
}
{
double _13,_14,_15,_16,_17,_18,_19,_23,_24,_25,_26,_27,_28,_29,_11,_46,_47,_48,_49,_50,_33,_35,_54,_55,_56,_57,_58,_4,_5,_77,_7,_8,_21,_93,_52,_53,_91,_94,_97,_100,_32,_34,_36,_37,_38,_39,_40,_41,_42,_43,_61,_62,_63,_64,_65,_66,_67,_68,_69,_70,_1,_2,_3,_6,_9,_10,_45,_51,_59,_60,_73,_74,_75,_76,_78,_79,_80,_81,_82,_83,_84,_85,_86,_87,_88,_89,_90,_92,_95,_96,_98,_99,_101,_102,_103,_104,_105,_106,_107,_108,_109,_110,_111,_112,_113,_12,_20,_22,_30,_31,_116,_117,_118,_114,_115,_134;

_13 = x[1]*y[0];
_14 = -(x[2]*y[0]);
_15 = -(x[0]*y[1]);
_16 = x[2]*y[1];
_17 = x[0]*y[2];
_18 = -(x[1]*y[2]);
_19 = _13 + _14 + _15 + _16 + _17 + _18;
_23 = y[1]*z[0];
_24 = -(y[2]*z[0]);
_25 = -(y[0]*z[1]);
_26 = y[2]*z[1];
_27 = y[0]*z[2];
_28 = -(y[1]*z[2]);
_29 = _23 + _24 + _25 + _26 + _27 + _28;
_11 = -x[0];
_46 = -(x[3]*y[0]);
_47 = x[3]*y[1];
_48 = x[0]*y[3];
_49 = -(x[1]*y[3]);
_50 = _13 + _46 + _15 + _47 + _48 + _49;
_33 = x[1]*z[0];
_35 = -(x[0]*z[1]);
_54 = -(y[3]*z[0]);
_55 = y[3]*z[1];
_56 = y[0]*z[3];
_57 = -(y[1]*z[3]);
_58 = _23 + _54 + _25 + _55 + _56 + _57;
_4 = -y[1];
_5 = y[0] + _4;
_77 = -y[0];
_7 = -z[1];
_8 = z[0] + _7;
_21 = -z[2];
_93 = -z[0];
_52 = -z[3];
_53 = z[0] + _52;
_91 = z[1] + _21;
_94 = _93 + z[2];
_97 = _93 + z[1];
_100 = _7 + z[3];
_32 = Squared(_19);
_34 = -(x[2]*z[0]);
_36 = x[2]*z[1];
_37 = x[0]*z[2];
_38 = -(x[1]*z[2]);
_39 = _33 + _34 + _35 + _36 + _37 + _38;
_40 = Squared(_39);
_41 = Squared(_29);
_42 = _32 + _40 + _41;
_43 = 1/Sqrt(_42);
_61 = Squared(_50);
_62 = -(x[3]*z[0]);
_63 = x[3]*z[1];
_64 = x[0]*z[3];
_65 = -(x[1]*z[3]);
_66 = _33 + _62 + _35 + _63 + _64 + _65;
_67 = Squared(_66);
_68 = Squared(_58);
_69 = _61 + _67 + _68;
_70 = 1/Sqrt(_69);
_1 = -x[1];
_2 = x[0] + _1;
_3 = Squared(_2);
_6 = Squared(_5);
_9 = Squared(_8);
_10 = _3 + _6 + _9;
_45 = _11 + x[3];
_51 = 2*_45*_50;
_59 = 2*_53*_58;
_60 = _51 + _59;
_73 = x[2]*_5;
_74 = -y[2];
_75 = y[1] + _74;
_76 = x[0]*_75;
_78 = _77 + y[2];
_79 = x[1]*_78;
_80 = _73 + _76 + _79;
_81 = _77 + y[1];
_82 = x[3]*_81;
_83 = -y[3];
_84 = y[0] + _83;
_85 = x[1]*_84;
_86 = _4 + y[3];
_87 = x[0]*_86;
_88 = _82 + _85 + _87;
_89 = _80*_88;
_90 = x[2]*_8;
_92 = x[0]*_91;
_95 = x[1]*_94;
_96 = _90 + _92 + _95;
_98 = x[3]*_97;
_99 = x[1]*_53;
_101 = x[0]*_100;
_102 = _98 + _99 + _101;
_103 = _96*_102;
_104 = y[2]*_8;
_105 = y[0]*_91;
_106 = y[1]*_94;
_107 = _104 + _105 + _106;
_108 = y[3]*_97;
_109 = y[1]*_53;
_110 = y[0]*_100;
_111 = _108 + _109 + _110;
_112 = _107*_111;
_113 = _89 + _103 + _112;
_12 = _11 + x[2];
_20 = 2*_12*_19;
_22 = z[0] + _21;
_30 = 2*_22*_29;
_31 = _20 + _30;
_116 = Sqrt(_42);
_117 = Sqrt(_69);
_118 = _116 + _117;
_114 = -(_113*_43*_70);
_115 = 1 + _114;
_134 = 1/_118;
grad[5] = (-6*_10*((_31*_43)/2. + (_60*_70)/2.)*_115)/Power(_118,2) + 6*_10*((_60*_113*_43)/(2.*Power(_69,1.5)) + (_31*_113*_70)/(2.*Power(_42,1.5)) - (_45*_80 + (x[0] - x[2])*_88 + _107*_53 + _94*_111)*_43*_70)*_134 - 12*_5*_115*_134;
}
{
double _13,_14,_15,_16,_17,_18,_19,_23,_24,_25,_26,_27,_28,_29,_11,_21,_32,_34,_46,_47,_48,_49,_50,_53,_54,_55,_56,_57,_4,_5,_22,_7,_8,_91,_88,_89,_92,_95,_97,_98,_100,_33,_35,_36,_37,_38,_39,_40,_41,_42,_43,_60,_61,_62,_63,_64,_65,_66,_67,_68,_69,_1,_2,_3,_6,_9,_10,_45,_51,_52,_58,_59,_72,_73,_74,_75,_76,_77,_78,_79,_80,_81,_82,_83,_84,_85,_86,_87,_90,_93,_94,_96,_99,_101,_102,_103,_104,_105,_106,_107,_108,_109,_110,_111,_112,_113,_12,_20,_30,_31,_116,_117,_118,_114,_115,_135;

_13 = x[1]*z[0];
_14 = -(x[2]*z[0]);
_15 = -(x[0]*z[1]);
_16 = x[2]*z[1];
_17 = x[0]*z[2];
_18 = -(x[1]*z[2]);
_19 = _13 + _14 + _15 + _16 + _17 + _18;
_23 = y[1]*z[0];
_24 = -(y[2]*z[0]);
_25 = -(y[0]*z[1]);
_26 = y[2]*z[1];
_27 = y[0]*z[2];
_28 = -(y[1]*z[2]);
_29 = _23 + _24 + _25 + _26 + _27 + _28;
_11 = -x[0];
_21 = -y[0];
_32 = x[1]*y[0];
_34 = -(x[0]*y[1]);
_46 = -(x[3]*z[0]);
_47 = x[3]*z[1];
_48 = x[0]*z[3];
_49 = -(x[1]*z[3]);
_50 = _13 + _46 + _15 + _47 + _48 + _49;
_53 = -(y[3]*z[0]);
_54 = y[3]*z[1];
_55 = y[0]*z[3];
_56 = -(y[1]*z[3]);
_57 = _23 + _53 + _25 + _54 + _55 + _56;
_4 = -y[1];
_5 = y[0] + _4;
_22 = _21 + y[2];
_7 = -z[1];
_8 = z[0] + _7;
_91 = -z[0];
_88 = -z[2];
_89 = z[1] + _88;
_92 = _91 + z[2];
_95 = _91 + z[1];
_97 = -z[3];
_98 = z[0] + _97;
_100 = _7 + z[3];
_33 = -(x[2]*y[0]);
_35 = x[2]*y[1];
_36 = x[0]*y[2];
_37 = -(x[1]*y[2]);
_38 = _32 + _33 + _34 + _35 + _36 + _37;
_39 = Squared(_38);
_40 = Squared(_19);
_41 = Squared(_29);
_42 = _39 + _40 + _41;
_43 = 1/Sqrt(_42);
_60 = -(x[3]*y[0]);
_61 = x[3]*y[1];
_62 = x[0]*y[3];
_63 = -(x[1]*y[3]);
_64 = _32 + _60 + _34 + _61 + _62 + _63;
_65 = Squared(_64);
_66 = Squared(_50);
_67 = Squared(_57);
_68 = _65 + _66 + _67;
_69 = 1/Sqrt(_68);
_1 = -x[1];
_2 = x[0] + _1;
_3 = Squared(_2);
_6 = Squared(_5);
_9 = Squared(_8);
_10 = _3 + _6 + _9;
_45 = _11 + x[3];
_51 = 2*_45*_50;
_52 = _21 + y[3];
_58 = 2*_52*_57;
_59 = _51 + _58;
_72 = x[2]*_5;
_73 = -y[2];
_74 = y[1] + _73;
_75 = x[0]*_74;
_76 = x[1]*_22;
_77 = _72 + _75 + _76;
_78 = _21 + y[1];
_79 = x[3]*_78;
_80 = -y[3];
_81 = y[0] + _80;
_82 = x[1]*_81;
_83 = _4 + y[3];
_84 = x[0]*_83;
_85 = _79 + _82 + _84;
_86 = _77*_85;
_87 = x[2]*_8;
_90 = x[0]*_89;
_93 = x[1]*_92;
_94 = _87 + _90 + _93;
_96 = x[3]*_95;
_99 = x[1]*_98;
_101 = x[0]*_100;
_102 = _96 + _99 + _101;
_103 = _94*_102;
_104 = y[2]*_8;
_105 = y[0]*_89;
_106 = y[1]*_92;
_107 = _104 + _105 + _106;
_108 = y[3]*_95;
_109 = y[1]*_98;
_110 = y[0]*_100;
_111 = _108 + _109 + _110;
_112 = _107*_111;
_113 = _86 + _103 + _112;
_12 = _11 + x[2];
_20 = 2*_12*_19;
_30 = 2*_22*_29;
_31 = _20 + _30;
_116 = Sqrt(_42);
_117 = Sqrt(_68);
_118 = _116 + _117;
_114 = -(_113*_43*_69);
_115 = 1 + _114;
_135 = 1/_118;
grad[6] = (-6*_10*((_31*_43)/2. + (_59*_69)/2.)*_115)/Power(_118,2) + 6*_10*((_59*_113*_43)/(2.*Power(_68,1.5)) + (_31*_113*_69)/(2.*Power(_42,1.5)) - (_45*_94 + _52*_107 + (x[0] - x[2])*_102 + (y[0] + _73)*_111)*_43*_69)*_135 - 12*_8*_115*_135;
}
{
double _3,_4,_5,_6,_7,_8,_9,_13,_14,_15,_16,_17,_18,_19,_25,_26,_1,_2,_28,_29,_11,_12,_60,_61,_63,_67,_68,_70,_32,_33,_34,_35,_36,_37,_38,_39,_40,_41,_42,_43,_84,_85,_86,_87,_88,_89,_90,_91,_92,_93,_94,_95,_96,_97,_98,_99,_100,_101,_102,_22,_23,_24,_27,_30,_31,_10,_20,_21,_44,_45,_46,_47,_48,_49,_50,_51,_52,_53,_54,_55,_56,_57,_58,_59,_62,_64,_65,_66,_69,_71,_72,_73,_74,_75,_76,_77,_78,_79,_80,_81,_82,_83,_103,_106,_107,_108;

_3 = x[1]*y[0];
_4 = -(x[2]*y[0]);
_5 = -(x[0]*y[1]);
_6 = x[2]*y[1];
_7 = x[0]*y[2];
_8 = -(x[1]*y[2]);
_9 = _3 + _4 + _5 + _6 + _7 + _8;
_13 = x[1]*z[0];
_14 = -(x[2]*z[0]);
_15 = -(x[0]*z[1]);
_16 = x[2]*z[1];
_17 = x[0]*z[2];
_18 = -(x[1]*z[2]);
_19 = _13 + _14 + _15 + _16 + _17 + _18;
_25 = -y[1];
_26 = y[0] + _25;
_1 = -y[0];
_2 = _1 + y[1];
_28 = -z[1];
_29 = z[0] + _28;
_11 = -z[0];
_12 = _11 + z[1];
_60 = -z[2];
_61 = z[1] + _60;
_63 = _11 + z[2];
_67 = -z[3];
_68 = z[0] + _67;
_70 = _28 + z[3];
_32 = Squared(_9);
_33 = Squared(_19);
_34 = y[1]*z[0];
_35 = -(y[2]*z[0]);
_36 = -(y[0]*z[1]);
_37 = y[2]*z[1];
_38 = y[0]*z[2];
_39 = -(y[1]*z[2]);
_40 = _34 + _35 + _36 + _37 + _38 + _39;
_41 = Squared(_40);
_42 = _32 + _33 + _41;
_43 = 1/Sqrt(_42);
_84 = -(x[3]*y[0]);
_85 = x[3]*y[1];
_86 = x[0]*y[3];
_87 = -(x[1]*y[3]);
_88 = _3 + _84 + _5 + _85 + _86 + _87;
_89 = Squared(_88);
_90 = -(x[3]*z[0]);
_91 = x[3]*z[1];
_92 = x[0]*z[3];
_93 = -(x[1]*z[3]);
_94 = _13 + _90 + _15 + _91 + _92 + _93;
_95 = Squared(_94);
_96 = -(y[3]*z[0]);
_97 = y[3]*z[1];
_98 = y[0]*z[3];
_99 = -(y[1]*z[3]);
_100 = _34 + _96 + _36 + _97 + _98 + _99;
_101 = Squared(_100);
_102 = _89 + _95 + _101;
_22 = -x[1];
_23 = x[0] + _22;
_24 = Squared(_23);
_27 = Squared(_26);
_30 = Squared(_29);
_31 = _24 + _27 + _30;
_10 = 2*_2*_9;
_20 = 2*_12*_19;
_21 = _10 + _20;
_44 = x[2]*_26;
_45 = -y[2];
_46 = y[1] + _45;
_47 = x[0]*_46;
_48 = _1 + y[2];
_49 = x[1]*_48;
_50 = _44 + _47 + _49;
_51 = x[3]*_2;
_52 = -y[3];
_53 = y[0] + _52;
_54 = x[1]*_53;
_55 = _25 + y[3];
_56 = x[0]*_55;
_57 = _51 + _54 + _56;
_58 = _50*_57;
_59 = x[2]*_29;
_62 = x[0]*_61;
_64 = x[1]*_63;
_65 = _59 + _62 + _64;
_66 = x[3]*_12;
_69 = x[1]*_68;
_71 = x[0]*_70;
_72 = _66 + _69 + _71;
_73 = _65*_72;
_74 = y[2]*_29;
_75 = y[0]*_61;
_76 = y[1]*_63;
_77 = _74 + _75 + _76;
_78 = y[3]*_12;
_79 = y[1]*_68;
_80 = y[0]*_70;
_81 = _78 + _79 + _80;
_82 = _77*_81;
_83 = _58 + _73 + _82;
_103 = 1/Sqrt(_102);
_106 = Sqrt(_42);
_107 = Sqrt(_102);
_108 = _106 + _107;
grad[7] = (-3*_21*_31*_43*(1 - _83*_43*_103))/Power(_108,2) + (6*_31*((_21*_83*_103)/(2.*Power(_42,1.5)) - (_26*_57 + _29*_72)*_43*_103))/_108;
}
{
double _1,_2,_3,_4,_5,_6,_7,_8,_9,_13,_14,_15,_16,_17,_18,_19,_23,_24,_46,_26,_27,_11,_12,_60,_61,_63,_67,_68,_70,_30,_31,_32,_33,_34,_35,_36,_37,_38,_39,_40,_41,_84,_85,_86,_87,_88,_89,_90,_91,_92,_93,_94,_95,_96,_97,_98,_99,_100,_101,_102,_22,_25,_28,_29,_10,_20,_21,_42,_43,_44,_45,_47,_48,_49,_50,_51,_52,_53,_54,_55,_56,_57,_58,_59,_62,_64,_65,_66,_69,_71,_72,_73,_74,_75,_76,_77,_78,_79,_80,_81,_82,_83,_103,_106,_107,_108;

_1 = -x[1];
_2 = x[0] + _1;
_3 = x[1]*y[0];
_4 = -(x[2]*y[0]);
_5 = -(x[0]*y[1]);
_6 = x[2]*y[1];
_7 = x[0]*y[2];
_8 = -(x[1]*y[2]);
_9 = _3 + _4 + _5 + _6 + _7 + _8;
_13 = y[1]*z[0];
_14 = -(y[2]*z[0]);
_15 = -(y[0]*z[1]);
_16 = y[2]*z[1];
_17 = y[0]*z[2];
_18 = -(y[1]*z[2]);
_19 = _13 + _14 + _15 + _16 + _17 + _18;
_23 = -y[1];
_24 = y[0] + _23;
_46 = -y[0];
_26 = -z[1];
_27 = z[0] + _26;
_11 = -z[0];
_12 = _11 + z[1];
_60 = -z[2];
_61 = z[1] + _60;
_63 = _11 + z[2];
_67 = -z[3];
_68 = z[0] + _67;
_70 = _26 + z[3];
_30 = Squared(_9);
_31 = x[1]*z[0];
_32 = -(x[2]*z[0]);
_33 = -(x[0]*z[1]);
_34 = x[2]*z[1];
_35 = x[0]*z[2];
_36 = -(x[1]*z[2]);
_37 = _31 + _32 + _33 + _34 + _35 + _36;
_38 = Squared(_37);
_39 = Squared(_19);
_40 = _30 + _38 + _39;
_41 = 1/Sqrt(_40);
_84 = -(x[3]*y[0]);
_85 = x[3]*y[1];
_86 = x[0]*y[3];
_87 = -(x[1]*y[3]);
_88 = _3 + _84 + _5 + _85 + _86 + _87;
_89 = Squared(_88);
_90 = -(x[3]*z[0]);
_91 = x[3]*z[1];
_92 = x[0]*z[3];
_93 = -(x[1]*z[3]);
_94 = _31 + _90 + _33 + _91 + _92 + _93;
_95 = Squared(_94);
_96 = -(y[3]*z[0]);
_97 = y[3]*z[1];
_98 = y[0]*z[3];
_99 = -(y[1]*z[3]);
_100 = _13 + _96 + _15 + _97 + _98 + _99;
_101 = Squared(_100);
_102 = _89 + _95 + _101;
_22 = Squared(_2);
_25 = Squared(_24);
_28 = Squared(_27);
_29 = _22 + _25 + _28;
_10 = 2*_2*_9;
_20 = 2*_12*_19;
_21 = _10 + _20;
_42 = x[2]*_24;
_43 = -y[2];
_44 = y[1] + _43;
_45 = x[0]*_44;
_47 = _46 + y[2];
_48 = x[1]*_47;
_49 = _42 + _45 + _48;
_50 = _46 + y[1];
_51 = x[3]*_50;
_52 = -y[3];
_53 = y[0] + _52;
_54 = x[1]*_53;
_55 = _23 + y[3];
_56 = x[0]*_55;
_57 = _51 + _54 + _56;
_58 = _49*_57;
_59 = x[2]*_27;
_62 = x[0]*_61;
_64 = x[1]*_63;
_65 = _59 + _62 + _64;
_66 = x[3]*_12;
_69 = x[1]*_68;
_71 = x[0]*_70;
_72 = _66 + _69 + _71;
_73 = _65*_72;
_74 = y[2]*_27;
_75 = y[0]*_61;
_76 = y[1]*_63;
_77 = _74 + _75 + _76;
_78 = y[3]*_12;
_79 = y[1]*_68;
_80 = y[0]*_70;
_81 = _78 + _79 + _80;
_82 = _77*_81;
_83 = _58 + _73 + _82;
_103 = 1/Sqrt(_102);
_106 = Sqrt(_40);
_107 = Sqrt(_102);
_108 = _106 + _107;
grad[8] = (-3*_21*_29*_41*(1 - _83*_41*_103))/Power(_108,2) + (6*_29*((_21*_83*_103)/(2.*Power(_40,1.5)) - ((-x[0] + x[1])*_57 + _27*_81)*_41*_103))/_108;
}
{
double _1,_2,_11,_12,_3,_4,_5,_6,_7,_8,_9,_13,_14,_15,_16,_17,_18,_19,_44,_24,_25,_61,_58,_59,_62,_65,_67,_68,_70,_28,_29,_30,_31,_32,_33,_34,_35,_36,_37,_38,_39,_84,_85,_86,_87,_88,_89,_90,_91,_92,_93,_94,_95,_96,_97,_98,_99,_100,_101,_102,_22,_23,_26,_27,_10,_20,_21,_40,_41,_42,_43,_45,_46,_47,_48,_49,_50,_51,_52,_53,_54,_55,_56,_57,_60,_63,_64,_66,_69,_71,_72,_73,_74,_75,_76,_77,_78,_79,_80,_81,_82,_83,_103,_106,_107,_108;

_1 = -x[1];
_2 = x[0] + _1;
_11 = -y[1];
_12 = y[0] + _11;
_3 = x[1]*z[0];
_4 = -(x[2]*z[0]);
_5 = -(x[0]*z[1]);
_6 = x[2]*z[1];
_7 = x[0]*z[2];
_8 = -(x[1]*z[2]);
_9 = _3 + _4 + _5 + _6 + _7 + _8;
_13 = y[1]*z[0];
_14 = -(y[2]*z[0]);
_15 = -(y[0]*z[1]);
_16 = y[2]*z[1];
_17 = y[0]*z[2];
_18 = -(y[1]*z[2]);
_19 = _13 + _14 + _15 + _16 + _17 + _18;
_44 = -y[0];
_24 = -z[1];
_25 = z[0] + _24;
_61 = -z[0];
_58 = -z[2];
_59 = z[1] + _58;
_62 = _61 + z[2];
_65 = _61 + z[1];
_67 = -z[3];
_68 = z[0] + _67;
_70 = _24 + z[3];
_28 = x[1]*y[0];
_29 = -(x[2]*y[0]);
_30 = -(x[0]*y[1]);
_31 = x[2]*y[1];
_32 = x[0]*y[2];
_33 = -(x[1]*y[2]);
_34 = _28 + _29 + _30 + _31 + _32 + _33;
_35 = Squared(_34);
_36 = Squared(_9);
_37 = Squared(_19);
_38 = _35 + _36 + _37;
_39 = 1/Sqrt(_38);
_84 = -(x[3]*y[0]);
_85 = x[3]*y[1];
_86 = x[0]*y[3];
_87 = -(x[1]*y[3]);
_88 = _28 + _84 + _30 + _85 + _86 + _87;
_89 = Squared(_88);
_90 = -(x[3]*z[0]);
_91 = x[3]*z[1];
_92 = x[0]*z[3];
_93 = -(x[1]*z[3]);
_94 = _3 + _90 + _5 + _91 + _92 + _93;
_95 = Squared(_94);
_96 = -(y[3]*z[0]);
_97 = y[3]*z[1];
_98 = y[0]*z[3];
_99 = -(y[1]*z[3]);
_100 = _13 + _96 + _15 + _97 + _98 + _99;
_101 = Squared(_100);
_102 = _89 + _95 + _101;
_22 = Squared(_2);
_23 = Squared(_12);
_26 = Squared(_25);
_27 = _22 + _23 + _26;
_10 = 2*_2*_9;
_20 = 2*_12*_19;
_21 = _10 + _20;
_40 = x[2]*_12;
_41 = -y[2];
_42 = y[1] + _41;
_43 = x[0]*_42;
_45 = _44 + y[2];
_46 = x[1]*_45;
_47 = _40 + _43 + _46;
_48 = _44 + y[1];
_49 = x[3]*_48;
_50 = -y[3];
_51 = y[0] + _50;
_52 = x[1]*_51;
_53 = _11 + y[3];
_54 = x[0]*_53;
_55 = _49 + _52 + _54;
_56 = _47*_55;
_57 = x[2]*_25;
_60 = x[0]*_59;
_63 = x[1]*_62;
_64 = _57 + _60 + _63;
_66 = x[3]*_65;
_69 = x[1]*_68;
_71 = x[0]*_70;
_72 = _66 + _69 + _71;
_73 = _64*_72;
_74 = y[2]*_25;
_75 = y[0]*_59;
_76 = y[1]*_62;
_77 = _74 + _75 + _76;
_78 = y[3]*_65;
_79 = y[1]*_68;
_80 = y[0]*_70;
_81 = _78 + _79 + _80;
_82 = _77*_81;
_83 = _56 + _73 + _82;
_103 = 1/Sqrt(_102);
_106 = Sqrt(_38);
_107 = Sqrt(_102);
_108 = _106 + _107;
grad[9] = (-3*_21*_27*_39*(1 - _83*_39*_103))/Power(_108,2) + (6*_27*((_21*_83*_103)/(2.*Power(_38,1.5)) - ((-x[0] + x[1])*_72 + _48*_81)*_39*_103))/_108;
}
{
double _3,_4,_5,_6,_7,_8,_9,_13,_14,_15,_16,_17,_18,_19,_25,_26,_1,_2,_28,_29,_11,_12,_60,_61,_63,_67,_68,_70,_34,_36,_32,_33,_35,_37,_38,_39,_40,_41,_42,_43,_84,_85,_86,_87,_88,_89,_90,_91,_92,_93,_94,_95,_96,_97,_98,_99,_100,_101,_102,_22,_23,_24,_27,_30,_31,_10,_20,_21,_44,_45,_46,_47,_48,_49,_50,_51,_52,_53,_54,_55,_56,_57,_58,_59,_62,_64,_65,_66,_69,_71,_72,_73,_74,_75,_76,_77,_78,_79,_80,_81,_82,_83,_103,_106,_107,_108;

_3 = x[1]*y[0];
_4 = -(x[3]*y[0]);
_5 = -(x[0]*y[1]);
_6 = x[3]*y[1];
_7 = x[0]*y[3];
_8 = -(x[1]*y[3]);
_9 = _3 + _4 + _5 + _6 + _7 + _8;
_13 = x[1]*z[0];
_14 = -(x[3]*z[0]);
_15 = -(x[0]*z[1]);
_16 = x[3]*z[1];
_17 = x[0]*z[3];
_18 = -(x[1]*z[3]);
_19 = _13 + _14 + _15 + _16 + _17 + _18;
_25 = -y[1];
_26 = y[0] + _25;
_1 = -y[0];
_2 = _1 + y[1];
_28 = -z[1];
_29 = z[0] + _28;
_11 = -z[0];
_12 = _11 + z[1];
_60 = -z[2];
_61 = z[1] + _60;
_63 = _11 + z[2];
_67 = -z[3];
_68 = z[0] + _67;
_70 = _28 + z[3];
_34 = y[1]*z[0];
_36 = -(y[0]*z[1]);
_32 = Squared(_9);
_33 = Squared(_19);
_35 = -(y[3]*z[0]);
_37 = y[3]*z[1];
_38 = y[0]*z[3];
_39 = -(y[1]*z[3]);
_40 = _34 + _35 + _36 + _37 + _38 + _39;
_41 = Squared(_40);
_42 = _32 + _33 + _41;
_43 = 1/Sqrt(_42);
_84 = -(x[2]*y[0]);
_85 = x[2]*y[1];
_86 = x[0]*y[2];
_87 = -(x[1]*y[2]);
_88 = _3 + _84 + _5 + _85 + _86 + _87;
_89 = Squared(_88);
_90 = -(x[2]*z[0]);
_91 = x[2]*z[1];
_92 = x[0]*z[2];
_93 = -(x[1]*z[2]);
_94 = _13 + _90 + _15 + _91 + _92 + _93;
_95 = Squared(_94);
_96 = -(y[2]*z[0]);
_97 = y[2]*z[1];
_98 = y[0]*z[2];
_99 = -(y[1]*z[2]);
_100 = _34 + _96 + _36 + _97 + _98 + _99;
_101 = Squared(_100);
_102 = _89 + _95 + _101;
_22 = -x[1];
_23 = x[0] + _22;
_24 = Squared(_23);
_27 = Squared(_26);
_30 = Squared(_29);
_31 = _24 + _27 + _30;
_10 = 2*_2*_9;
_20 = 2*_12*_19;
_21 = _10 + _20;
_44 = x[2]*_26;
_45 = -y[2];
_46 = y[1] + _45;
_47 = x[0]*_46;
_48 = _1 + y[2];
_49 = x[1]*_48;
_50 = _44 + _47 + _49;
_51 = x[3]*_2;
_52 = -y[3];
_53 = y[0] + _52;
_54 = x[1]*_53;
_55 = _25 + y[3];
_56 = x[0]*_55;
_57 = _51 + _54 + _56;
_58 = _50*_57;
_59 = x[2]*_29;
_62 = x[0]*_61;
_64 = x[1]*_63;
_65 = _59 + _62 + _64;
_66 = x[3]*_12;
_69 = x[1]*_68;
_71 = x[0]*_70;
_72 = _66 + _69 + _71;
_73 = _65*_72;
_74 = y[2]*_29;
_75 = y[0]*_61;
_76 = y[1]*_63;
_77 = _74 + _75 + _76;
_78 = y[3]*_12;
_79 = y[1]*_68;
_80 = y[0]*_70;
_81 = _78 + _79 + _80;
_82 = _77*_81;
_83 = _58 + _73 + _82;
_103 = 1/Sqrt(_102);
_106 = Sqrt(_102);
_107 = Sqrt(_42);
_108 = _106 + _107;
grad[10] = (-3*_21*_31*_43*(1 - _83*_103*_43))/Power(_108,2) + (6*_31*((_21*_83*_103)/(2.*Power(_42,1.5)) - (_2*_50 + _12*_65)*_103*_43))/_108;
}
{
double _1,_2,_3,_4,_5,_6,_7,_8,_9,_13,_14,_15,_16,_17,_18,_19,_23,_24,_46,_26,_27,_11,_12,_60,_61,_63,_67,_68,_70,_31,_33,_30,_32,_34,_35,_36,_37,_38,_39,_40,_41,_84,_85,_86,_87,_88,_89,_90,_91,_92,_93,_94,_95,_96,_97,_98,_99,_100,_101,_102,_22,_25,_28,_29,_10,_20,_21,_42,_43,_44,_45,_47,_48,_49,_50,_51,_52,_53,_54,_55,_56,_57,_58,_59,_62,_64,_65,_66,_69,_71,_72,_73,_74,_75,_76,_77,_78,_79,_80,_81,_82,_83,_103,_106,_107,_108;

_1 = -x[1];
_2 = x[0] + _1;
_3 = x[1]*y[0];
_4 = -(x[3]*y[0]);
_5 = -(x[0]*y[1]);
_6 = x[3]*y[1];
_7 = x[0]*y[3];
_8 = -(x[1]*y[3]);
_9 = _3 + _4 + _5 + _6 + _7 + _8;
_13 = y[1]*z[0];
_14 = -(y[3]*z[0]);
_15 = -(y[0]*z[1]);
_16 = y[3]*z[1];
_17 = y[0]*z[3];
_18 = -(y[1]*z[3]);
_19 = _13 + _14 + _15 + _16 + _17 + _18;
_23 = -y[1];
_24 = y[0] + _23;
_46 = -y[0];
_26 = -z[1];
_27 = z[0] + _26;
_11 = -z[0];
_12 = _11 + z[1];
_60 = -z[2];
_61 = z[1] + _60;
_63 = _11 + z[2];
_67 = -z[3];
_68 = z[0] + _67;
_70 = _26 + z[3];
_31 = x[1]*z[0];
_33 = -(x[0]*z[1]);
_30 = Squared(_9);
_32 = -(x[3]*z[0]);
_34 = x[3]*z[1];
_35 = x[0]*z[3];
_36 = -(x[1]*z[3]);
_37 = _31 + _32 + _33 + _34 + _35 + _36;
_38 = Squared(_37);
_39 = Squared(_19);
_40 = _30 + _38 + _39;
_41 = 1/Sqrt(_40);
_84 = -(x[2]*y[0]);
_85 = x[2]*y[1];
_86 = x[0]*y[2];
_87 = -(x[1]*y[2]);
_88 = _3 + _84 + _5 + _85 + _86 + _87;
_89 = Squared(_88);
_90 = -(x[2]*z[0]);
_91 = x[2]*z[1];
_92 = x[0]*z[2];
_93 = -(x[1]*z[2]);
_94 = _31 + _90 + _33 + _91 + _92 + _93;
_95 = Squared(_94);
_96 = -(y[2]*z[0]);
_97 = y[2]*z[1];
_98 = y[0]*z[2];
_99 = -(y[1]*z[2]);
_100 = _13 + _96 + _15 + _97 + _98 + _99;
_101 = Squared(_100);
_102 = _89 + _95 + _101;
_22 = Squared(_2);
_25 = Squared(_24);
_28 = Squared(_27);
_29 = _22 + _25 + _28;
_10 = 2*_2*_9;
_20 = 2*_12*_19;
_21 = _10 + _20;
_42 = x[2]*_24;
_43 = -y[2];
_44 = y[1] + _43;
_45 = x[0]*_44;
_47 = _46 + y[2];
_48 = x[1]*_47;
_49 = _42 + _45 + _48;
_50 = _46 + y[1];
_51 = x[3]*_50;
_52 = -y[3];
_53 = y[0] + _52;
_54 = x[1]*_53;
_55 = _23 + y[3];
_56 = x[0]*_55;
_57 = _51 + _54 + _56;
_58 = _49*_57;
_59 = x[2]*_27;
_62 = x[0]*_61;
_64 = x[1]*_63;
_65 = _59 + _62 + _64;
_66 = x[3]*_12;
_69 = x[1]*_68;
_71 = x[0]*_70;
_72 = _66 + _69 + _71;
_73 = _65*_72;
_74 = y[2]*_27;
_75 = y[0]*_61;
_76 = y[1]*_63;
_77 = _74 + _75 + _76;
_78 = y[3]*_12;
_79 = y[1]*_68;
_80 = y[0]*_70;
_81 = _78 + _79 + _80;
_82 = _77*_81;
_83 = _58 + _73 + _82;
_103 = 1/Sqrt(_102);
_106 = Sqrt(_102);
_107 = Sqrt(_40);
_108 = _106 + _107;
grad[11] = (-3*_21*_29*_41*(1 - _83*_103*_41))/Power(_108,2) + (6*_29*((_21*_83*_103)/(2.*Power(_40,1.5)) - (_2*_49 + _12*_77)*_103*_41))/_108;
}
{
double _1,_2,_11,_12,_3,_4,_5,_6,_7,_8,_9,_13,_14,_15,_16,_17,_18,_19,_44,_24,_25,_61,_58,_59,_62,_65,_67,_68,_70,_28,_30,_29,_31,_32,_33,_34,_35,_36,_37,_38,_39,_84,_85,_86,_87,_88,_89,_90,_91,_92,_93,_94,_95,_96,_97,_98,_99,_100,_101,_102,_22,_23,_26,_27,_10,_20,_21,_40,_41,_42,_43,_45,_46,_47,_48,_49,_50,_51,_52,_53,_54,_55,_56,_57,_60,_63,_64,_66,_69,_71,_72,_73,_74,_75,_76,_77,_78,_79,_80,_81,_82,_83,_103,_106,_107,_108;

_1 = -x[1];
_2 = x[0] + _1;
_11 = -y[1];
_12 = y[0] + _11;
_3 = x[1]*z[0];
_4 = -(x[3]*z[0]);
_5 = -(x[0]*z[1]);
_6 = x[3]*z[1];
_7 = x[0]*z[3];
_8 = -(x[1]*z[3]);
_9 = _3 + _4 + _5 + _6 + _7 + _8;
_13 = y[1]*z[0];
_14 = -(y[3]*z[0]);
_15 = -(y[0]*z[1]);
_16 = y[3]*z[1];
_17 = y[0]*z[3];
_18 = -(y[1]*z[3]);
_19 = _13 + _14 + _15 + _16 + _17 + _18;
_44 = -y[0];
_24 = -z[1];
_25 = z[0] + _24;
_61 = -z[0];
_58 = -z[2];
_59 = z[1] + _58;
_62 = _61 + z[2];
_65 = _61 + z[1];
_67 = -z[3];
_68 = z[0] + _67;
_70 = _24 + z[3];
_28 = x[1]*y[0];
_30 = -(x[0]*y[1]);
_29 = -(x[3]*y[0]);
_31 = x[3]*y[1];
_32 = x[0]*y[3];
_33 = -(x[1]*y[3]);
_34 = _28 + _29 + _30 + _31 + _32 + _33;
_35 = Squared(_34);
_36 = Squared(_9);
_37 = Squared(_19);
_38 = _35 + _36 + _37;
_39 = 1/Sqrt(_38);
_84 = -(x[2]*y[0]);
_85 = x[2]*y[1];
_86 = x[0]*y[2];
_87 = -(x[1]*y[2]);
_88 = _28 + _84 + _30 + _85 + _86 + _87;
_89 = Squared(_88);
_90 = -(x[2]*z[0]);
_91 = x[2]*z[1];
_92 = x[0]*z[2];
_93 = -(x[1]*z[2]);
_94 = _3 + _90 + _5 + _91 + _92 + _93;
_95 = Squared(_94);
_96 = -(y[2]*z[0]);
_97 = y[2]*z[1];
_98 = y[0]*z[2];
_99 = -(y[1]*z[2]);
_100 = _13 + _96 + _15 + _97 + _98 + _99;
_101 = Squared(_100);
_102 = _89 + _95 + _101;
_22 = Squared(_2);
_23 = Squared(_12);
_26 = Squared(_25);
_27 = _22 + _23 + _26;
_10 = 2*_2*_9;
_20 = 2*_12*_19;
_21 = _10 + _20;
_40 = x[2]*_12;
_41 = -y[2];
_42 = y[1] + _41;
_43 = x[0]*_42;
_45 = _44 + y[2];
_46 = x[1]*_45;
_47 = _40 + _43 + _46;
_48 = _44 + y[1];
_49 = x[3]*_48;
_50 = -y[3];
_51 = y[0] + _50;
_52 = x[1]*_51;
_53 = _11 + y[3];
_54 = x[0]*_53;
_55 = _49 + _52 + _54;
_56 = _47*_55;
_57 = x[2]*_25;
_60 = x[0]*_59;
_63 = x[1]*_62;
_64 = _57 + _60 + _63;
_66 = x[3]*_65;
_69 = x[1]*_68;
_71 = x[0]*_70;
_72 = _66 + _69 + _71;
_73 = _64*_72;
_74 = y[2]*_25;
_75 = y[0]*_59;
_76 = y[1]*_62;
_77 = _74 + _75 + _76;
_78 = y[3]*_65;
_79 = y[1]*_68;
_80 = y[0]*_70;
_81 = _78 + _79 + _80;
_82 = _77*_81;
_83 = _56 + _73 + _82;
_103 = 1/Sqrt(_102);
_106 = Sqrt(_102);
_107 = Sqrt(_38);
_108 = _106 + _107;
grad[12] = (-3*_21*_27*_39*(1 - _83*_103*_39))/Power(_108,2) + (6*_27*((_21*_83*_103)/(2.*Power(_38,1.5)) - (_2*_64 + _12*_77)*_103*_39))/_108;
}
